package org.beetl.sql.core.engine;

import org.beetl.core.Context;
import org.beetl.core.Function;
import org.beetl.sql.core.kit.StringKit;

/**
 * 判断字符串是否为空。如果字符串中有一个以上字符不为空，则不为空
 * 如果传递下来的参数不是String类型，则按照是否为null进行判断
 * @author Succy
 * create on 2019/2/3
 */
public class BlankExpressionFunction implements Function {
    @Override
    public Object call(Object[] paras, Context ctx) {
        Object param = paras[0];
        if (param == null) {
            return true;
        }

        if (!String.class.isInstance(param)) {
            throw new IllegalArgumentException("期望参数是String类型");
        }
        return StringKit.isBlank((String) param);
    }
}